package com.ccb.sc.common.modules.order.vo;

import com.ccb.sc.common.enums.AuditStatus;
import com.ccb.sc.common.modules.order.enums.OrderRefundType;
import com.ccb.sc.common.modules.order.enums.OrderReturnType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author ken
 * @version 1.0
 * @date 2023/11/4 19:58
 */
@Data
public class OrderReturnListVo {

    @ApiModelProperty("ID")
    private Long id;

    @ApiModelProperty("用户ID")
    private Long memberId;

    @ApiModelProperty("审核状态（1 已申请 2 申请通过 3 已拒绝）")
    private AuditStatus auditStatus;

    @ApiModelProperty("物流公司")
    private String logisticsCompany;

    @ApiModelProperty("物流单号")
    private String logisticsNo;

    @ApiModelProperty("运费")
    private BigDecimal freight;

    @ApiModelProperty("退货说明")
    private String memo;

    @ApiModelProperty("订单ID")
    private String orderId;

    @ApiModelProperty("订单项ID")
    private Long orderItemId;

    @ApiModelProperty("商品名称")
    private String goodsName;

    @ApiModelProperty("商品规格")
    private String goodsSpec;

    @ApiModelProperty("规格图片")
    private String picture;

    @ApiModelProperty("退货原因")
    private String reason;

    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount;

    @ApiModelProperty("退款类型（1 阳光值 2 原路返回）")
    private OrderRefundType refundType;

    @ApiModelProperty("售后类型（1退货退款 2仅退款 3换货）")
    private OrderReturnType returnType;

    @ApiModelProperty("配送方式名称")
    private String shippingMethod;

    @ApiModelProperty("退货配送状态（1 未发货 2 用户已发货 3 商家已收货）")
    private Integer shippingStatus;

    @ApiModelProperty("用户凭证")
    private String userCredentials;

    @ApiModelProperty("收货人地址")
    private String address;

    @ApiModelProperty("收货人电话")
    private String phone;

    @ApiModelProperty("退货数量")
    private Integer quantity;

    @ApiModelProperty("收货人")
    private String receiver;

    @ApiModelProperty("发货人")
    private String shipper;

    @ApiModelProperty("申请时间")
    private LocalDateTime createTime;

    @ApiModelProperty("审核时间")
    private LocalDateTime modifyTime;
}
